﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace UricaoWeb.LogicaDeNegocios.Menu
{
    public class Menu
    {
        #region atributos
        private int _IdMenu;
        private string _nombreMenu;
        private string _tipoMenu;
        private bool _activoMenu;
        private int _fkRestaurante;
        #endregion

        #region get/ser
        public int FkRestaurante
        {
            get { return _fkRestaurante; }
            set { _fkRestaurante = value; }
        }

        public bool ActivoMenu
        {
            get { return _activoMenu; }
            set { _activoMenu = value; }
        }

        public string TipoMenu
        {
            get { return _tipoMenu; }
            set { _tipoMenu = value; }
        }

        public string NombreMenu
        {
            get { return _nombreMenu; }
            set { _nombreMenu = value; }
        }

        public int IdMenu
        {
            get { return _IdMenu; }
            set { _IdMenu = value; }
        }
        #endregion

        #region metodos
        ///<sumary>
        ///Constructor por defecto
        ///Parámetros:(no posee)
        ///Retorno: (no posee)
        ///Excepeciones: (no posee)
        ///</sumary>
        public Menu()
        {
            this.IdMenu = 0;
            this.NombreMenu = "";
            this.TipoMenu = "";
            this.ActivoMenu = false;
            this.FkRestaurante = 0;
        }

        ///<sumary>
        ///Constructor de todos los atributos de la clse
        ///Parámetros:
        ///idMenu: id del menu, nombreMenu: nombre del menu, tipoMenu: tipo del menu, activoMenu: indica el status del menu, fkRestaurante: clave foranea con tabla restaurante
        ///Retorno: (no posee)
        ///Excepeciones: (no posee)
        ///</sumary>
        public Menu(int idMenu, string nombreMenu, string tipoMenu, bool activoMenu, int fkRestaurante)
        {
            this.IdMenu = idMenu;
            this.NombreMenu = nombreMenu;
            this.TipoMenu = tipoMenu;
            this.ActivoMenu = activoMenu;
            this.FkRestaurante = fkRestaurante;
        }

        ///<sumary>
        ///Sobreescritura del metodo Equals
        ///Parámetros:Objeto
        ///Retorno: true: los objetos son iguales, false: no son iguales
        ///Excepeciones: (no posee)
        ///</sumary>
        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;

            Menu menu = obj as Menu;


            return ((this.IdMenu == menu.IdMenu) && (this.NombreMenu == menu.NombreMenu) && (this.TipoMenu == menu.TipoMenu) && (this.FkRestaurante == menu.FkRestaurante));
        }
        #endregion

    }
}